package Day_0130;

/**
 * @author zxc
 * @date 2023/01/30 21:17
 **/
public class TryCatchFinally {
    public static void main(String[] args) {
        /**
         * 问题 ：try-catch-finally，若是try中含有return语句的话，finally代码块还会执行不？
         * 解答 ：
         * finally代码块的执行早于try代码块中的return语句;
         * 结论：
         * 1、不管有木有出现异常，finally块中代码都会执行;
         * 2、当try和catch中有return时，finally仍然会执行;
         * 3、finally是在return后面的表达式运算后执行的;
         * （此时并没有返回运算后的值，而是先把要返回的值保存起来，return返回值都不会改变;）
         * ===> 所以函数返回值是在finally执行前确定的；
         * 4、finally中最好不要包含return，否则程序会提前退出，返回值不是try或catch中保存的返回值。
         */
    }
}
